/**
 * @file    WebOleInPlaceUIWindow.h
 * @brief   
 * @date    2005-03-15 15:55:23
 * @author  GengYong (gengyong@gmail.com)
 *
 */

#ifndef WEBWINDOW_HEADER_WEBOLEINPLACEUIWINDOW_H
#define WEBWINDOW_HEADER_WEBOLEINPLACEUIWINDOW_H
//----------------------------------------------------------

#include "WebWindowImpl.h"

namespace xessage_private {
	class WebOleInPlaceUIWindow:public IOleInPlaceUIWindow
	{
	public:
		WebOleInPlaceUIWindow(WebWindowImpl * app);
		virtual ~WebOleInPlaceUIWindow();
	public:
		virtual	HRESULT	STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject);
		virtual ULONG	STDMETHODCALLTYPE AddRef();
		virtual ULONG	STDMETHODCALLTYPE Release();
		virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *phwnd);
		virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode);
		virtual HRESULT STDMETHODCALLTYPE GetBorder(LPRECT lprectBorder);
		virtual HRESULT STDMETHODCALLTYPE RequestBorderSpace(LPCBORDERWIDTHS pborderwidths);
		virtual HRESULT STDMETHODCALLTYPE SetBorderSpace(LPCBORDERWIDTHS pborderwidths);
		virtual HRESULT STDMETHODCALLTYPE SetActiveObject(IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName);
	private:
		WebWindowImpl *	m_appImpl;
		LONG			m_refCount;
	};
}

//----------------------------------------------------------
#endif	//ifndef WEBWINDOW_HEADER_WEBOLEINPLACEUIWINDOW_H

